<?php

require_once "application.php";

class IndexController extends application {
    
    protected $_order='last_action';

    public function init() {
        parent::init();
    }

    public function indexAction() {    
        
        Zend_Loader::loadClass('Uzytkownik');
        $users = new Uzytkownik();
        $users = $users->showAll($this->_auth->id);
        
        $this->view->paginator = $users;
    }
    
    public function setorderAction() {
        $order = $this->_request->getParam("i");
        $this->_order = $order;
        $auth = Zend_Auth::getInstance();
        
    }
    
    public function uczenAction() {
        $uczen = $this->_request->getParam("id");
        Zend_Loader::loadClass('Uzytkownik');
        $users = new Uzytkownik();
        
        Zend_Loader::loadClass('Comprofiler');
        $comp = new Comprofiler();
        $this->view->comp = $comp->fetchRow('id='.$uczen);
        Zend_Loader::loadClass('Users');
        $userx = new Users();
        $this->view->userx = $userx->fetchRow('id='.$uczen);
        Zend_Loader::loadClass('UserSettings'); // jesli nie znajdzie to wywalic exception z info, ze nie uzywalo (978)
        $this->view->uczen = $users->showInfoUser($uczen);
        
        $plac = new Application_Model_Placowki();
        $this->view->placowka = $plac->fetchRow('id='.$this->view->uczen->placowka);
        
        $userset = new UserSettings();
        if(!$set = $userset->showInfoUser($uczen)) {
            
        }
        $this->view->info = $set;
        Zend_Loader::loadClass('UserLessons');
        $lekcje = new UserLessons();
        $lekcje = $lekcje->getLessons($uczen);
        
        $this->view->paginator = $lekcje;
        
    }
    
    public function nagraniaAction() {
        Zend_Loader::loadClass('Nagrania');
        $nags = new Nagrania();
        $id = $this->_request->getParam('id');
        $nag = $nags->fetchRow('id='.$id);
        $nag->ocena = $this->_request->getParam('ocena');
        $nag->save();
        $i = $this->_request->getParam('lekcja');
        $uczen = $this->_request->getParam('uczen');
        $this->_redirect('/index/podlekcja/i/'.$i.'/uczen/'.$uczen);
        
    }
    
    public function historiaAction() {
        $uczen = $this->_request->getParam("uczen");
        $lekcja = $this->_request->getParam("i");
        $this->_helper->layout->setlayout('ajax');
        Zend_Loader::loadClass('Uzytkownik');
        $users = new Uzytkownik();
        Zend_Loader::loadClass('UserSettings');
        $this->view->uczen = $users->showInfoUser($uczen);
        
        $userset = new UserSettings();
        $this->view->info = $userset->showInfoUser($uczen);
        Zend_Loader::loadClass('StatLekcje');
        $lekcje = new StatLekcje();
        $adapter = $lekcje->getLessons($uczen,$lekcja);
        
        $paginator = new Zend_Paginator($adapter);
        // ustawiamy ilość wierszy z bazy na stronę
        $paginator->setItemCountPerPage(10);
        // pobieramy parametr, który informuje paginator na której jest stronie i ustawiamy domyślnie stronę 1
        $page = $this->_request->getParam('strona', 1);
        // przekazujemy parametr do paginatora
        $paginator->setCurrentPageNumber($page);
        // przekazujemy tablicę paginatora do widoku
        $this->view->paginator = $paginator;
        
    }
    
    public function podlekcjazapAction() {
        $uczen = $this->_request->getParam("uczen");
        
        $id = $this->_request->getParam("i");
        $akcja = $this->_request->getParam("akcja");
        $this->view->lid = $id;
            mysql_connect($this->_dbset['host'], $this->_dbset['user'], $this->_dbset['pass']);
            mysql_select_db($this->_dbset['name']);
            $uid = $uczen;
            $lekcja = $id;
            $sql = "SELECT * FROM stat_lekcje WHERE lekcja=$lekcja AND uid=$uid";
            $wyk = mysql_query($sql);
            if(mysql_num_rows($wyk)>0) {
            $sql = "UPDATE stat_lekcje SET oceniono=NOW(), dla_opiekuna='".$this->_request->getParam('dla_opiekuna')."', dla_ucznia='".$this->_request->getParam('dla_ucznia')."' WHERE lekcja=$id AND uid=$uczen";
            } else {
                $sql = "INSERT INTO stat_lekcje(lekcja,uid,dla_opiekuna,dla_ucznia,oceniono)
                    VALUES ($lekcja, $uid, '".$this->_request->getParam('dla_opiekuna')."', '".$this->_request->getParam('dla_ucznia')."',NOW());";
            }
            Zend_Loader::loadClass('Uzytkownik');
            $users = new Uzytkownik();
            $user = $users->fetchRow('id='.$uczen);
            
            
            mysql_query($sql);
            $message = "Dla opiekuna:\n\n".$this->_request->getParam('dla_opiekuna')."\n\n--------------\nDla dziecka:\n\n".$this->_request->getParam('dla_ucznia');
            mail($user->email, 'Elogo - raport z realizacji lekcji', $message);
            //die($sql);
            $this->_redirect('/index/podlekcja/i/'.$id.'/uczen/'.$uczen);
    }
    
    public function podlekcjazatAction() {
        $uczen = $this->_request->getParam("uczen");
        
        $id = $this->_request->getParam("i");
        $akcja = $this->_request->getParam("akcja");
        $this->view->lid = $id;
           
            $this->_redirect('/index/podlekcja/i/'.$id.'/uczen/'.$uczen);
    }
    
    public function podlekcjaAction() {
        $uczen = $this->_request->getParam("uczen");
        $id = $this->_request->getParam("i");
        $akcja = $this->_request->getParam("akcja");
        $this->view->lid = $id;
        if($akcja=='zapisz') {
            mysql_connect($this->_dbset['host'], $this->_dbset['user'], $this->_dbset['pass']);
        mysql_select_db($this->_dbset['name']);
            $uid = $this->uid;
            $lekcja = $this->lid;
            $sql = "UPDATE stat_lekcje SET dla_opiekuna='".$this->_request->getParam('dla_opiekuna')."', dla_ucznia='".$this->_request->getParam('dla_ucznia')."' WHERE lekcja=$id AND uid=$uczen";
            mysql_query($sql);
            $this->_redirect('/index/podlekcja/i/'.$id.'/uczen/'.$uczen);
        }
        $h = $this->_request->getParam("h");
        //$this->_helper->layout->setlayout('ajax');
        $this->view->hist = $h;
        Zend_Loader::loadClass('Uzytkownik');
        $users = new Uzytkownik();
        Zend_Loader::loadClass('Comprofiler');
        $comp = new Comprofiler();
        $this->view->comp = $comp->fetchRow('id='.$uczen);
        Zend_Loader::loadClass('Users');
        $userx = new Users();
        $this->view->userx = $userx->fetchRow('id='.$uczen);
        Zend_Loader::loadClass('UserSettings');
        $this->view->uczen = $users->showInfoUser($uczen);
        
        $plac = new Application_Model_Placowki();
        $this->view->placowka = $plac->fetchRow('id='.$this->view->uczen->placowka);
        
        $userset = new UserSettings();
        $this->view->info = $userset->showInfoUser($uczen);
        
        Zend_Loader::loadClass('Screens');
        $ekrany = new Screens();
        $lista = $ekrany->getAll();
        $eklista = array();
        $this->view->uid = $uczen;
        
        
        foreach($lista as $ekran) {
            $id = $ekran->id;
            $nazwa = $ekran->name;
            $eklista[$id] = $nazwa;            
        }
        
        Zend_Loader::loadClass('UserScreens');
        $lekcje = new UserScreens();
        $adapter = $lekcje->getScreens($uczen,$id,'ordering ASC');
        
        $paginator = new Zend_Paginator($adapter);
        // ustawiamy ilość wierszy z bazy na stronę
        $paginator->setItemCountPerPage(100);
        // pobieramy parametr, który informuje paginator na której jest stronie i ustawiamy domyślnie stronę 1
        $page = $this->_request->getParam('strona', 1);
        // przekazujemy parametr do paginatora
        $paginator->setCurrentPageNumber($page);
        // przekazujemy tablicę paginatora do widoku
        $this->view->paginator = $paginator;
        $this->view->ekrany = $eklista;
    }
    
    public function uwagidAction() {
        $uczen = $this->_request->getParam("uczen");
        $id = $this->_request->getParam("i");
        $this->_helper->layout->setlayout('ajax');
        
        Zend_Loader::loadClass('Statystyka');
        $stat = new Statystyka();
        $stat = $stat->getStat($id);
        if($_POST) {
            $stat->uwagi = $_POST['uwagi'];
            $stat->save();
        } else {
            $form = new Application_Form_Uwagi();
            $dane = array(
                'uwagi' => $stat->uwagi,
                'id'    => $id
            );
            $form->populate($dane);
            $this->view->form = $form;
        }
        
    }
    
    public function zaliczAction() {
        $uczen = $this->_request->getParam("uczen");
        $id = $this->_request->getParam("i");
        $this->_helper->layout->setlayout('ajax');
        
        Zend_Loader::loadClass('StatLekcje');
        $stat = new StatLekcje();
        $stat = $stat->find($id)->current();
        if($_POST) {
            $stat->dla_ucznia = $_POST['dla_ucznia'];
            $stat->dla_opiekuna = $_POST['dla_opiekuna'];
            $stat->komentarz = $_POST['komentarz'];
            $stat->logopeda = $this->_auth->id;
            $stat->save();
        } else {
            $form = new Application_Form_Zaliczenie();
            $dane = array(
                'komentarz' => $stat->komentarz,
                'dla_dziecka'   =>  $stat->dla_ucznia,
                'dla_opiekuna'   =>  $stat->dla_opiekuna,
                'ocena'     =>  $stat->ocena,
                'id'    => $id
            );
            $form->populate($dane);
            $this->view->form = $form;
        }
        
    }

    public function dodajuseraAction() {
        mysql_connect($this->_dbset['host'], $this->_dbset['user'], $this->_dbset['pass']);
        mysql_select_db($this->_dbset['name']);
        $sql = "SELECT * FROM jos_users WHERE id=".$this->_request->getParam('id');
        $wyk = mysql_query($sql);
        $rowu = mysql_fetch_array($wyk);
        $sql = "SELECT * FROM jos_comprofiler WHERE id=".$this->_request->getParam('id');
        $wyk = mysql_query($sql);
        $row = mysql_fetch_array($wyk);
        Zend_Loader::loadClass('Uzytkownik');
        $users = new Uzytkownik();
        $user = $users->createRow();
        $user->id = $row['id'];
        $user->imie = $row['cb_imidziecka'];
        $user->email = $rowu['email'];
        $user->nazwisko = $row['cb_nazwiskodziecka'];
        $user->birthday = $row['cb_dataurodzenia'];
        $user->opiekun = $this->_request->getParam('o');
        $user->diagnoza = $row['cb_diagnoza'];
        if($row['cb_czydzieckoumieczytac']=='Tak') {
            $user->can_read = 1;
        } else {
            $user->can_read = 0;
        } 
        if($row['cb_czydzieckoumiepisac']=='Tak') {
            $user->can_write = 1;
        } else {
            $user->can_write = 0;
        }
        $user->active =1;
        $user->status = 1;
        $user->save();
        
        
    }
    
    public function pacjenciAction() {
        mysql_connect($this->_dbset['host'], $this->_dbset['user'], $this->_dbset['pass']);
        mysql_select_db($this->_dbset['name']);
        $sql = "SELECT * FROM jos_users u, jos_comprofiler c WHERE u.usertype='Registered' AND c.id=u.id";
        $wyk = mysql_query($sql);
        $dane = array();
        Zend_Loader::loadClass('Uzytkownik');
        $users = new Uzytkownik();
        while($row = mysql_fetch_array($wyk)) {
            $user = $users->fetchRow('id='.$row['id']);
            if($user) {
                $row['opiekun'] = $user->opiekun;
                $row['dodany'] = true;
                $row['cb_imidziecka'] = $user->imie;
                $row['cb_nazwiskodziecka'] = $user->nazwisko;
                $row['email'] = $user->email;
                $opiekun = $users->fetchRow('id='.$row['opiekun']);
                $row['opiekun_imie'] = $opiekun->imie;
                $row['opiekun_nazwisko'] = $opiekun->nazwisko;
            } else {
                $row['opiekun'] = false;
                $row['dodany'] = false;
            }
            $dane[] = $row;            
        }
        $this->view->lista = $dane;
        
    }
    
    public function pacjentAction() {
        $akcja = $this->_request->getParam('a');
        
        Zend_Loader::loadClass('Uzytkownik');
        $users = new Uzytkownik();
        
        
        
        Zend_Loader::loadClass('Comprofiler');
        $comp = new Comprofiler();
        
        
        $opiekuni = $users->fetchAll("rola='admin' OR rola='operator'");
        $opiekunowie = array();
        foreach($opiekuni as $opiekun) {
            $id = $opiekun->id;
            $opiekunowie[$id] = $opiekun->nazwisko.' '.$opiekun->imie;
        }
        
        $plac = new Application_Model_Placowki();
        $placx = $plac->fetchAll('1');
        $placowki = array();
        $placowki[0] = '--brak--';
        foreach($placx as $plx) {
            $id = $plx->id;
            $placowki[$id] = $plx->nazwa;
        }
        $id = $this->_request->getParam('id');
        
        Zend_Loader::loadClass('Users');
        $userx = new Users();
        
        $cx = $comp->fetchRow('user_id='.$id);
        $ux = $userx->fetchRow('id='.$id);
        $compro = array(
            'cb_imidziecka' =>  $cx->cb_imidziecka,
            'cb_nazwiskodziecka' =>  $cx->cb_nazwiskodziecka,
            'cb_diagnoza' =>  $cx->cb_diagnoza,
            'email' =>  $ux->email,
            'firstname' =>  $cx->firstname,
            'lastname'  =>  $cx->lastname
        );
        $form = new Application_Form_Pacjent($opiekunowie,$compro,$placowki);
        if($akcja=='przepisz') {
            $user = $users->fetchRow('id='.$id);
            $user->birthday = $cx->cb_dataurodzenia;
            $user->save();
            $user->email = $ux->email;
            $user->diagnoza = $cx->cb_diagnoza;
            $user->nazwisko = $cx->cb_nazwiskodziecka;
            $user->imie = $cx->cb_imidziecka;
            $user->rodzic_imie = $cx->firstname;
            $user->rodzic_nazwisko = $cx->lastname;
            $form->addElement('hidden', 'definicja', array(
                'value' =>  'zmien'
            ));
        } else if($akcja=='zmien') {
            $user = $users->fetchRow('id='.$id);
            $form->addElement('hidden', 'definicja', array(
                'value' =>  'zmien'
            ));
        } else if($akcja=='dodaj') {
            mysql_connect($this->_dbset['host'], $this->_dbset['user'], $this->_dbset['pass']);
            mysql_select_db($this->_dbset['name']);
            $sql = "SELECT * FROM jos_users WHERE id=".$this->_request->getParam('id');
            $wyk = mysql_query($sql);
            $rowu = mysql_fetch_array($wyk);
            $sql = "SELECT * FROM jos_comprofiler WHERE id=".$this->_request->getParam('id');
            $wyk = mysql_query($sql);
            $row = mysql_fetch_array($wyk);
            $user = $users->createRow();
            $user->id = $row['id'];
            $user->imie = $row['cb_imidziecka'];
            $user->email = $rowu['email'];
            $user->nazwisko = $row['cb_nazwiskodziecka'];
            $user->birthday = $row['cb_dataurodzenia'];
            $user->opiekun = $this->_request->getParam('o');
            $user->diagnoza = $row['cb_diagnoza'];
            if($row['cb_czydzieckoumieczytac']=='Tak') {
                $user->can_read = 1;
            } else {
                $user->can_read = 0;
            } 
            if($row['cb_czydzieckoumiepisac']=='Tak') {
                $user->can_write = 1;
            } else {
                $user->can_write = 0;
            }
            $form->addElement('hidden', 'definicja', array(
                'value' =>  'dodaj'
            ));
        } else if($_POST) {
            $def = $this->_request->getParam('definicja');
            
            if($def=='dodaj') {
                mysql_connect($this->_dbset['host'], $this->_dbset['user'], $this->_dbset['pass']);
                mysql_select_db($this->_dbset['name']);
                $sql = "SELECT * FROM jos_users WHERE id=".$this->_request->getParam('id');
                $wyk = mysql_query($sql);
                $rowu = mysql_fetch_array($wyk);
                $sql = "SELECT * FROM jos_comprofiler WHERE id=".$this->_request->getParam('id');
                $wyk = mysql_query($sql);
                $row = mysql_fetch_array($wyk);
                Zend_Loader::loadClass('Uzytkownik');
                $users = new Uzytkownik();
                $user = $users->createRow();
                $user->id = $row['id'];
                $user->imie = $_POST['imie'];
                $user->email = $_POST['email'];
                $user->nazwisko = $_POST['nazwisko'];
                $user->birthday = $row['cb_dataurodzenia'];
                $user->opiekun = $_POST['opiekun'];
                $user->placowka = $_POST['placowka'];
                $user->diagnoza = $_POST['diagnoza'];
                if($row['cb_czydzieckoumieczytac']=='Tak') {
                    $user->can_read = 1;
                } else {
                    $user->can_read = 0;
                } 
                if($row['cb_czydzieckoumiepisac']=='Tak') {
                    $user->can_write = 1;
                } else {
                    $user->can_write = 0;
                }
                $user->active =1;
                $user->status = 1;
                $user->save();
            } else if($def=='zmien') {
                Zend_Loader::loadClass('Uzytkownik');
                $users = new Uzytkownik();
                $user = $users->fetchRow('id='.$id);
                $user->imie = $_POST['imie'];
                $user->email = $_POST['email'];
                $user->nazwisko = $_POST['nazwisko'];
                $user->opiekun = $_POST['opiekun'];
                $user->diagnoza = $_POST['diagnoza'];
                $user->rodzic_imie = $_POST['rodzic_imie'];
                $user->rodzic_nazwisko = $_POST['rodzic_nazwisko'];
                $user->placowka = $_POST['placowka'];
                $user->save();
            }
        }
        $this->view->user = $user;
        $this->view->id = $id;
        
        $this->view->users = $userx->fetchRow('id='.$id);
        $this->view->comp = $comp->fetchRow('user_id='.$this->view->users->id);
        
        
        $form->populate($user->toArray());
        $this->view->form = $form;
    }
    
    public function hasloAction() {
        $form = new Application_Form_Haslo();
        if($_POST) {
            Zend_Loader::loadClass('Uzytkownik');
            $users = new Uzytkownik();
            $user = $users->fetchRow('id='.$this->_auth->id);
            if(md5($this->_request->getParam('currentpassword'))==$user->haslo) {
                if($this->_request->getParam('password')==$this->_request->getParam('confirmpassword')) {
                    $user->haslo = md5($this->_request->getParam('password'));
                    $user->save();
                    $this->view->komunikat = "Zmieniono hasło na nowe.";
                } else {
                    $this->view->komunikat = "Potwierdzenie hasła nie jest zgodne z nowym hasłem.";
                }
            } else {
                $this->view->komunikat = "Podane hasło aktualne jest nieprawidłowe";
            }
        }
        $this->view->form = $form;
    }

}